﻿# coding = utf-8
from django.shortcuts import render_to_response, get_object_or_404
from django.http import HttpResponseRedirect
from django.template import RequestContext as RC
from django.contrib.auth.decorators import login_required
from forca.models import *
from forca.tripcode import tripcode

def disciplina(request, coddisc): # dá pra usar uma view genérica, mas não compensa
	disc = get_object_or_404(Disciplina, codigo=coddisc.upper())
	lista = Avaliacao.objects.filter(disciplina=disc)
	param = {'disc': disc, 'lista_aval': lista}
	return render_to_response('aval_disc.html', param, context_instance=RC(request))

def professor(request, nomeprof): # idem disciplina
	prof = get_object_or_404(Professor, username=nomeprof)
	lista = Avaliacao.objects.filter(professor=prof)
	param = {'prof': prof, 'lista_aval': lista}
	return render_to_response('aval_prof.html', param, context_instance=RC(request))

@login_required
def avaliacao(request): # se não fosse o hashing dava pra trocar por uma view genérica...
	if request.method == 'POST':
		form = PostAvaliacao(request.POST)
		try:
			aval = form.save(commit=False) # não salvar no bê dê ainda, falta uma coisa
			aval.aluno = tripcode(request.user.username) # agora sim.
			aval.save()
			return HttpResponseRedirect('/') # tem algum outro lugar pra redirecionar?
		except ValueError:
			pass # OMG estou ignorando uma exceção!!1!!!111!!1um!!1111!!onze
	else:
		form = PostAvaliacao()
	
	return render_to_response('postar.html', {'form': form}, context_instance=RC(request))